package com.desksoft.ecommerce.service.interf.mall;

import java.util.List;

import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.mall.CategoryVO;
import com.desksoft.ecommerce.vo.mall.ConditionsListVO;
import com.desksoft.ecommerce.vo.mall.FavSearchItemsVO;
import com.desksoft.ecommerce.vo.mall.FavoriteVO;
import com.desksoft.ecommerce.vo.mall.MallSiftVO;
import com.desksoft.ecommerce.vo.mall.ProductsInfo;
import com.desksoft.ecommerce.vo.mall.SearchItemsVO;
import com.desksoft.utility.service.ServiceInterface;

/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: 2012-5-24
 * 创建作者：rq
 * 文件名称：ISiftService.java
 * 版本：1.0
 * 功能：
 * 最后修改时间：2012-5-24
 * 修改记录：
 * </pre>
 *****************************************/
public interface ISiftService extends ServiceInterface {

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<MallSiftVO> firstSift(SearchItemsVO searchItemsVO);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<List<ProductsInfo>> getItemInfo(SearchItemsVO searchItemsVO, String clientCode);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<List<ProductsInfo>> getItemInfo2B(ConditionsListVO conditionsListVO, String clientCode);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<Long> getItemInfoCount(SearchItemsVO searchItemsVO);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<Long> getItemInfoCount2B(ConditionsListVO conditionsListVO);
	/**
	 * @param favoriteVO
	 * @return
	 */
	public ServiceResult<MallSiftVO> getFavSift(FavoriteVO favoriteVO);

	/**
	 * @param favoriteVO
	 * @return
	 */
	public ServiceResult<MallSiftVO> getPorSift(FavoriteVO favoriteVO);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<List<ProductsInfo>> getFavItemInfo(FavSearchItemsVO searchItemsVO);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<Long> getFavItemInfoCount(FavSearchItemsVO searchItemsVO);

	/**
	 * @param searchItemsVO
	 * @return
	 */
	public ServiceResult<List<ProductsInfo>> getItemInfo2c(SearchItemsVO searchItemsVO, String clientCode);

	/**
	 * @param subItemCode
	 * @return
	 */
	public ServiceResult<String> getFatherCode(String subItemCode);

	/**
	 * @param code
	 * @return
	 */
	public ServiceResult<List<CategoryVO>> getCategoryByCode(String code);
	
	/**
	 * 获取一级删选条件
	 */
	public ServiceResult<MallSiftVO> firstSiftS(ConditionsListVO conditionsListVO);

}
